Computer virtualization has dramatically and quickly changed the information technology (IT) industry in terms of efficiency, cost, and the speed in providing new applications and/or services. The trend continues to evolve towards network virtualization, where a set of virtual machines (VMs) or servers may communicate in a virtual network environment that is decoupled from the underlying physical networks in a data center (DC). An overlay virtual network is one approach to provide network virtualization services to a set of VMs or servers. An overlay virtual network may enable the construction of many virtual tenant networks on a common network infrastructure, where each virtual tenant network may have independent address space, independent network configurations, and traffic isolation among each other, which are all decoupled from the underlying network infrastructure. In addition, an overlay virtual network may support migrations of VMs since there is no longer a physical network limitation. Further, an overlay virtual network may speed up the configuration of multi-tenant cloud applications and virtual DCs, leading to potential new DC applications, such as a software defined DC.
An overlay virtual network may provide communication among a set of tenant systems (TSs), where TSs may be VMs on a server or physical servers. An overlay virtual network may provide Layer 2 (L2) or Layer 3 (L3) services to the connected TSs via network virtualization edges (NVEs), where NVEs may be implemented as part of a virtual switch within a hypervisor, and/or physical switch or router. An NVE encapsulates ingress tenant traffic and sends the encapsulated traffic over a tunnel across an underlying network toward an egress NVE. An egress NVE at the tunnel remote end point decapuslates the traffic prior to delivering the original data packet to the appropriate TS. There are a number of encapsulation protocols available in the industry today, such as virtual eXtensible Local Area Network (VXLAN) encapsulation, Microsoft's Network Virtualization over Generic Routing Encapsulation (NVGRE), and Internet Protocol (IP) Generic Routing Encapsulation (GRE), and other encapsulation protocols.
The Internet Control Message Protocol (ICMP) is one of the main protocols of the internet protocol suite, as defined by Internet Engineering Task Force (IETF) Request For Comments (RFC) 792 titled, “INTERNET CONTROL MESSAGE PROTOCOL,” by J. Postel published in September 1981, which is hereby incorporated by reference in its entirety. ICMP is used by network devices, like routers, to send error messages indicating, for example, that a requested service is not available or that a host or router could not be reached. ICMP can also be used to relay query messages.